#ifndef _MEASURE_H_
#define _MEASURE_H_

#include <Unit.h>
#include <iostream>
using namespace std;

class Measure
{
    public:
	Measure(MEASURE_TYPE measure, unsigned int quantity, LENGTH_TYPE type);
	Measure(MEASURE_TYPE measure, unsigned int quantity, VOLUME_TYPE type);
	bool operator == (const Measure & measure) const;
	Measure operator + (Measure & measure) const;
	void printLength(ostream *os);
	void printVolume(ostream *os);
	MEASURE_TYPE getMeasureType();

    private:
	unsigned int m_absQuantity;
	Unit unit;
};

ostream & operator << (ostream & os, Measure &quantity);

#endif
